/**
 * 项目名称:
 *
 * @Author: 夏国倩
 * @Date: 2023/10/14 15:04
 * @Copyright
 */
package Reflect;

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class ReflectTest8 {
    public static void main(String[] args) throws Exception{
        //获取类
        Class userServiceClass=Class.forName("demo.Reflect.UserService");

        //获取所有的Method(包括私有的)
        Method[] methods = userServiceClass.getDeclaredMethods();
        //System.out.println(methods.length); //3

        //遍历Method
        for (Method method:methods){
            //获取修饰符列表
            System.out.println(Modifier.toString(method.getModifiers()));
            //获取方法的返回值类型
            System.out.println(method.getReturnType());
            //获取方法名
            System.out.println(method.getName());
            //方法的参数列表（一个方法的参数可能有多个）
            Class[] parameterTypes = method.getParameterTypes();
            for (Class parameterType:parameterTypes){
                System.out.println(parameterType.getSimpleName());
            }
        }
    }
}
